﻿using Admin.NET.Core;
using MOKA.TPM.Entity;
using SqlSugar;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace MOKA.TPM.Service.Dto;

/// <summary>
/// 页面输出参数 （）
/// </summary>
public class T_USEROutput : T_USER
{
}

/// <summary>
/// 单ID查询参数
/// </summary>
public class T_USERInput
{
    /// <summary>
    /// 账号
    /// </summary>
    public string? UserName { get; set; }
}

/// <summary>
/// 普通查询参数
/// </summary>
public class GetT_USERInput : BaseOrderInput
{

    /// <summary>
    /// UserName
    /// </summary>
  
    public string? UserName { get; set; }

    /// <summary>
    /// UserRemark
    /// </summary>
 
    public string? UserRemark { get; set; }
}

/// <summary>
/// 分页查询参数
/// </summary>
public class PageT_USERInput : BasePageInput
{    
    /// <summary>
     /// UserName
     /// </summary>

    public string? UserName { get; set; }

    /// <summary>
    /// UserRemark
    /// </summary>

    public string? UserRemark { get; set; }
}

/// <summary>
/// 新增记录参数
/// </summary>
public class AddT_USERInput
{
    /// <summary>
    /// 账号
    /// </summary>
    [Required, MaxLength(20)]
    public string UserName { get; set; } = string.Empty;

    /// <summary>
    /// 姓名
    /// </summary>
    [Required, MaxLength(20)]
    public string UserRemark { get; set; } = string.Empty;

    /// <summary>
    /// </summary>
    [Required, MaxLength(50)]
    public string PWD { get; set; } = string.Empty;

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? UserGroup { get; set; }

    /// <summary>
    /// </summary>
    public DateTime? LoginDate { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(100)]
    public string? LoginHost { get; set; }

    /// <summary>
    /// </summary>
    [Required, MaxLength(20)]
    public string EntryNo { get; set; } = string.Empty;

    /// <summary>
    /// </summary>
    public DateTime EntryTime { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? EntryHost { get; set; }

    /// <summary>
    /// </summary>
    public int Flag { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(20)]
    public string? ModifydMan { get; set; }

    /// <summary>
    /// </summary>
    public DateTime? ModifyTime { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? ModifyHost { get; set; }

    /// <summary>
    /// </summary>
    public int LoginQty { get; set; }

    /// <summary>
    /// </summary>
    public int ftype { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? HandToken { get; set; }

    /// <summary>
    /// 线体代码
    /// </summary>
    [MaxLength(50)]
    public string? LineCode { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? Email { get; set; }

    /// <summary>
    /// 0表示SCBC1代表OC人员
    /// </summary>
    public int? Belone { get; set; }

    /// <summary>
    /// 子表：资产
    /// </summary>
    public List<Asset> Assets { get; set; }//一对多
}

/// <summary>
/// 更新参数
/// </summary>
public class UpdateT_USERInput
{
    /// <summary>
    /// 账号
    /// </summary>
    [MaxLength(20)]
    public string UserName { get; set; }

    /// <summary>
    /// 姓名
    /// </summary>
    [MaxLength(20)]
    public string UserRemark { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string PWD { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? UserGroup { get; set; }

    /// <summary>
    /// </summary>
    public DateTime? LoginDate { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(100)]
    public string? LoginHost { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(20)]
    public string EntryNo { get; set; }

    /// <summary>
    /// </summary>
    public DateTime EntryTime { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? EntryHost { get; set; }

    /// <summary>
    /// </summary>
    public int Flag { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(20)]
    public string? ModifydMan { get; set; }

    /// <summary>
    /// </summary>
    public DateTime? ModifyTime { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? ModifyHost { get; set; }

    /// <summary>
    /// </summary>
    public int LoginQty { get; set; }

    /// <summary>
    /// </summary>
    public int ftype { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? HandToken { get; set; }

    /// <summary>
    /// 线体代码
    /// </summary>
    [MaxLength(50)]
    public string? LineCode { get; set; }

    /// <summary>
    /// </summary>
    [MaxLength(50)]
    public string? Email { get; set; }

    /// <summary>
    /// 0表示SCBC1代表OC人员
    /// </summary>
    public int? Belone { get; set; }

    /// <summary>
    /// 子表：资产
    /// </summary>
    public List<Asset> Assets { get; set; }//一对多
}

/// <summary>
/// 删除参数
/// </summary>
public class DeleteT_USERInput
{
    /// <summary>
    /// 账号
    /// </summary>
    public string UserName { get; set; }
}

/// <summary>
/// 更新部分数据参数
/// </summary>
public class UpdateSomeT_USERInput
{
    /// <summary>
    /// 账号
    /// </summary>
    public string UserName { get; set; }
}